A fundamental problem in identity resolution is the rapid determination of whether a new, incoming record has a match with any other record in a database. The main purpose is not to find an exact match, but rather to find rapidly approximate matches which allow for variations. Variations may arise because data comes from multiple sources, in which case the problem is to identify records belonging to the same entity. Variations can be intentional (e.g., fraudulently using a different name) or unintentional (e.g., using “Bob” instead of “Robert”, or interchanging two digits in a phone or social security number).